Trigger domain cleanup on @releaseDomain watch-event instead of domain exc. virq.
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Wed, 7 Sep 2005 13:41:49 +0000 (13:41 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Wed, 7 Sep 2005 13:41:49 +0000 (13:41 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
tools/python/xen/xend/XendDomain.py

index 3b32b707cb186ff1d6d663efdbc20eb45912c89d..41ed62e26391ccb29bfae7f2866a68e319a16f05 100644 (file)
@@ -67,7 +67,7 @@ class XendDomain:
         xroot.add_component("xen.xend.XendDomain", self)
         self.domains = XendDomainDict()
         self.dbmap = DBMap(db=XenNode("/domain"))
-        eserver.subscribe('xend.virq', self.onVirq)
+        self.watchReleaseDomain()
         self.initial_refresh()
 
     def list(self):
@@ -95,11 +95,13 @@ class XendDomain:
         doms = self.list_sorted()
         return map(lambda x: x.name, doms)
 
-    def onVirq(self, event, val):
-        """Event handler for virq.
-        """
+    def onReleaseDomain(self):
         self.refresh(cleanup=True)
 
+    def watchReleaseDomain(self):
+        from xen.xend.xenstore.xswatch import xswatch
+        self.releaseDomain = xswatch("@releaseDomain", self.onReleaseDomain)
+
     def xen_domains(self):
         """Get table of domains indexed by id from xc.
         """